前一篇講了傳回FormCollection的Model Bindind方法
傳回的FormCollection類別,屬於弱型別,其實在開發上還是比較不方便的
所以MVC也能讓你回傳Model的類別!!
這次就來寫寫吧~
假設我們的Model長這樣
public class People
{
public string Name{get;set;}
public int height{get;set;}
}
然後Action我們需要兩個
一個呈現資料,一個接收回傳資料
先寫讓View呈現資料的方式!
public ActionResult PeopleModelBinding()
{
//我們塞個資料讓View呈現
People people=new People(){
Name="Tom",
Height=180
};
return View(people);
}
然後收到後,再用ViewBag傳回去,顯示到view
[HttpPost]
public ActionResult Index(People people){
//接收的型態直接是Model class,所以就使用Model的讀取方式!
ViewBag.Name=people.Name;
ViewBag.Height=people.Height;
return View();
}
最重要的View的寫法,我們使用Html Helper幫我們產生input框
並且裡面會先幫我們填入model的內容
@model DemoApp.People
<div>
@using(Html.BeginForm())
{
<p>
姓名:
@Html.EditorFor(c=>c.Name)
</p>
<p>
身高:
@Html.EditorFor(c=>c.Height)
</p>
<p>
<input type="submit" value="送出">
</p>
}
</div>
@ViewBag.Name
@ViewBag.Height
這樣就完成啦~
想看這段簡單程式執行的結果,可以到這邊看看
https://dotnetfiddle.net/ARXpzx
程式執行的過程大概就是
如果要讓view不接收任何Model,
然後還想傳回Model的話也可以!~
這我們明天再說~~
一不小心打太久了~
今天12/31 祝大家跨年順利~
我要出門跨年啦 大家掰掰~~~